//package com.cx.utils.pdf;
//
//import lombok.SneakyThrows;
//import org.apache.pdfbox.pdmodel.PDDocument;
//import org.apache.pdfbox.text.PDFTextStripper;
//import org.apache.pdfbox.text.TextPosition;
//
//import java.io.File;
//import java.io.FileWriter;
//import java.io.IOException;
//
///**
// * @program: pms
// * @author: cx
// * @description:将pdf文字提取出来转化为txt文件
// * @create: 2025-04-14 10:16
// **/
//public class PdfToTxt {
//    public static void main(String[] args) {
//        hah();
//    }
//    public static void hah   (){
//        String pdfPath = "F://test2//kfc.pdf";
//        String txtPath = "F://test2//output.txt";
//
//
//        try {
//
//            // 加载PDF文件时设置内存使用偏好
//            System.setProperty("org.apache.pdfbox.baseParser.pushBackSize", "1000000");
//
//            // 加载PDF文件
//            PDDocument document = PDDocument.load(new File(pdfPath));
//
//            // 创建PDFTextStripper对象提取文本
//            PDFTextStripper pdfStripper = new PDFTextStripper() {
//                @SneakyThrows
//                @Override
//                protected void processTextPosition(TextPosition text) {
//
//                    if (text.getUnicode() != null && !text.getUnicode().isEmpty()) {
//                        writeString(text.getUnicode());
//                    }
//                    //
//                    try {
//                        super.processTextPosition(text);
//                    } catch (UnsupportedOperationException e) {
//                        // 忽略字体错误，继续处理
//                    }
//                }
//            };
//
//            // 设置一些属性以减少错误
//            pdfStripper.setSortByPosition(true);
//            pdfStripper.setShouldSeparateByBeads(true);
//
//            // 提取文本
//            String text = pdfStripper.getText(document);
//
//            // 将文本写入TXT文件
//            try (FileWriter writer = new FileWriter(txtPath)) {
//                writer.write(text);
//            }
//
//            // 关闭文档
//            document.close();
//
//            System.out.println("PDF转换为TXT成功！");
//        } catch (UnsupportedOperationException | IOException e) {
//            System.err.println("转换过程中出现错误: " + e.getMessage());
//            e.printStackTrace();
//        }
//    }
//}